package net.gholam.mockwire;

/**
 * Bless a field reference or method into an object in the isolated test
 * context.
 * <p>
 * This will create a singleton instance of the marked type in the test context
 * that is named after the field or method name.
 * </p>
 *
 * <pre>
 * &#064;Bless
 * SomeNonAbstractClass beanName;
 * </pre>
 *
 * <p>
 * A method can be marked in which case the result of invoking the method will
 * be placed as a singleton into the test context
 * </p>
 *
 * <pre>
 * &#064;Bless
 * private SomeInterface beanName() {
 * 	return SomeInterfaceImpl();
 * }
 * </pre>
 *
 * <p>
 * Where a method is marked it can be parameterised, in which case appropriately
 * typed instances should be passed when invoked.
 * </p>
 *
 * <pre>
 * &#064;Bless
 * private SomeInterface beanName(Parameter one, Parameter two) {
 * 	return SomeInterfaceImpl(one, two);
 * }
 * </pre>
 */
public @interface Bless {

}
